#!/usr/bin/env python
from misc.utility.scons_hints import *

Import("env")

import platform_linuxbsd_builders

common_linuxbsd = [
    "crash_handler_linuxbsd.cpp",
    "os_linuxbsd.cpp",
    "freedesktop_portal_desktop.cpp",
    "freedesktop_screensaver.cpp",
    "freedesktop_at_spi_monitor.cpp",
]

if env["library_type"] == "executable":
    common_linuxbsd += ["godot_linuxbsd.cpp"]
else:
    common_linuxbsd += ["libgodot_linuxbsd.cpp"]

if env["use_sowrap"]:
    common_linuxbsd.append("xkbcommon-so_wrap.c")

if env["x11"]:
    common_linuxbsd += SConscript("x11/SCsub")

if env["wayland"]:
    common_linuxbsd += SConscript("wayland/SCsub")

if env["speechd"]:
    common_linuxbsd.append("tts_linux.cpp")
    if env["use_sowrap"]:
        common_linuxbsd.append("speechd-so_wrap.c")

if env["fontconfig"]:
    if env["use_sowrap"]:
        common_linuxbsd.append("fontconfig-so_wrap.c")

if env["dbus"]:
    if env["use_sowrap"]:
        common_linuxbsd.append("dbus-so_wrap.c")

if env["library_type"] == "static_library":
    prog = env.add_library("#bin/godot", common_linuxbsd)
elif env["library_type"] == "shared_library":
    prog = env.add_shared_library("#bin/godot", common_linuxbsd)
else:
    prog = env.add_program("#bin/godot", common_linuxbsd)

if env["debug_symbols"] and env["separate_debug_symbols"]:
    env.AddPostAction(prog, env.Run(platform_linuxbsd_builders.make_debug_linuxbsd))
